|
Date : 5 septembre 1993 Protection : MOT DE PASSE Programme : BIRDS of PREY Outils : SOFT-ICE V2.50 Fichier : BIRDS.EXE Temps passé : 1 Heure Société : ELECTRONIC ARTS Divers : Fichiers en clair Origine : INDONESIE Numéro : 219 Presque 3 mois d'inactivité ( du 10/06 au 05/09 ) non pas que j'avais succombé à une crise de flemme, mais j'ai simplement fait un trip à JKT dont j'ai ramené 72 jeux. Il m'a fallu copier, tester, trier, recopier, retrier, m'occuper de mes coress, de mon lecteur 3« qui s'est envoyé en l'air, de mon nouveau disque dur "intelligent" et j'en passe... sans compter la présence des deux horribles. Ceci est le premier DEP de la série de JKT. C'est un ELECTRONIC ARTS, ç'aurait donc du être simple. C'était simple, avec un petit piège caché dans la routine de comparaison des caractères. La touche ENTER est testée en CS:E2AB. CS=3D3C CS:E2AB 3C0D CMP AL,0D CS:E2AD 7434 JZ E2E3 Et le test des caractères se fait ici: CS:E2FB <ÍÍÍ» ; ON CHERCHE LES CHARS. A TESTER. : º : º CS:E2FF 0AC0 º OR AL,AL CS:E301 7416 º JZ E319 ; A REMPLACER PAR JMP E319 CS:E303 0ADB º OR BL,BL CS:E305 7404 º JZ E30B CS:E307 3AC3 º CMP AL,BL ; ON COMPARE LES 2 CHARS. CS:E309 74F0 ÈÍ< JZ E2FB ; SI EGAUX ON CHERCHE LES 2 S. CS:E30B FE0EF9C9 DEC BYTE PTR [C9F9] CS:E30F 7403 JZ E314 CS:E311 E9C5FE JMP E1D9 ; Par là, j'suis pas aller... CS:E314 EA61013E0F JMP 0F3E:0161 ; Par ici ça sent le roussi ! CS:E319 8AD8 MOV BL,AL ; A REMPLACER PAR XOR BL,BL CS:E31B 881E32CA MOV [CA32],BL CS:E31F FEC3 INC BL ; BL+1 ! On prépare le piège. CS:E321 32FF XOR BH,BH ; BH=0 CS:E323 015E00 ADD [BP+00],BX ; PIEGE !! CS:E326 CB RETF La bonne réponse passe par CS:E319, il suffit de faire un JMP au niveau de CS:E301. Mais l'instruction avant le RETF rajoute +1 au segment IP que l'on va restaurer si on a bien répondu sinon on rajoute n'importe quoi et on saute n'importe o... Smart ! Ce "1" est fabriqué par un MOV de AL ( qui doit être égal à 0000 ) dans BL qui est incrémenté et additionner dans BP qui représente le segment IP qui sera restauré par le RETF qui suit. On suit toujours ? La solution est de XORer BH,BH ( 2 octets ) à la place de l'instruction MOV BL,AL. Avec PCTOOLS: Chercher: 0AC074160ADB Modifier: ....EB...... Et dans le même secteur un peu plus loin: Chercher: 8AD8881E32CA Modifier: 32DB........ FREDDY |